Python 流程控制- if 条件语句

        Python 条件语句是通过一条或多条语句的执行结果(true 或者 false)来决定执行的代码块。
        可以通过下图来简单了解条件语句的执行过程:

iamges

        Python 程序语言指定任何非0或非空(null)值为true,0或者null为false。
        Python 编程中 if 语句用于控制程序的执行,基本形式为:

  • if 语句
1
2
3
4
if expression(判断条件):
statement(s)(执行语句……)
else:
statement(s)(执行语句……)

        注:Python 使用缩进作为其语句分组的方法,建议使用4个空格。

        其中“判断条件”成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示统一范围。
        else 为可选语句,放需要在条件不成立时,执行内容则可以执行相关语句:

1
2
3
4
5
6
7
8
9
10
11
12
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 例1:if 基本用法
flag = False
name = 'luren'
if name == 'python': # 判断变量否为'python'
flag = True # 条件成立时设置标志为真
print 'welcome boss' # 并输出欢迎信息
else:
print name # 条件不成立时输出变量名称

        输出结果为:

1
luren #输出结果

        if 语句的判断条件可以用 >(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)来表示其关系。
        当判断条件为多个值时,可以用以下形式:

1
2
3
4
5
6
7
8
if expression1(判断条件1):
statement1(s)(执行语句1……)
elif expression2(判断条件2):
statement2(s)(执行语句2……)
elif expression3(判断条件3):
statement3(s)(执行语句3……)
else:
statement(s)(执行语句……)

        实例如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 例2:elif用法
num = 5
if num == 3: # 判断num的值
print 'boss'
elif num == 2:
print 'user'
elif num == 1:
print 'worker'
elif num < 0: # 值小于零时输出
print 'error'
else:
print 'roadman' # 条件均不成立时输出

        输出结果为:

1
roadman #输出结果

        由于 python 并不支持 switch 语句,多疑多个条件判断,只能用 elif 来实现,如果判断需要多个条件同时判断时,可以使用 or(或),表示两个条件有一个成立时判断条件成功;使用 and(与)时,表示只有两个条件同时成立的情况下,判断条件才成功。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 例3:if语句多个条件
num = 9
if num >= 0 and num <= 10: # 判断值是否在0~10之间
print 'hello'
# 输出结果: hello
num = 10
if num < 0 or num > 10: # 判断值是否在小于0或大于10
print 'hello'
else:
print 'undefine'
# 输出结果: undefine
num = 8
# 判断值是否在0~5或者10~15之间
if (num >= 0 and num <= 5) or (num >= 10 and num <= 15):
print 'hello'
else:
print 'undefine'
# 输出结果: undefine

        当 if 有多个条件时可使用括号来区分判断的先后顺序,括号中的判断优先执行,此外 and 和 or 的优先级低于 >(大于)、<(小于)等判断符号,即大于和小于在没有括号的情况下会比与要优先判断。

简单的语句组

        也可以在同一行的位置上使用 if 条件判断语句:

1
2
3
4
5
6
7
8
#!/usr/bin/python
# -*- coding: UTF-8 -*-
var = 100
if ( var == 100 ) : print "变量 var 的值为100"
print "Good bye!"

        执行输出结果:

1
2
变量 var 的值为 100
Good bye!